package root.client;

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface GreetingServiceAsync {

	void Usuario(AsyncCallback<Void> callback);

	void abrirSessao(String login, AsyncCallback<String> callback);

	void adicionarDias(int dias, AsyncCallback<Void> callback);

	void apagarItem(String idSessao, String idItem, AsyncCallback<Void> callback);

	void aprovarAmizade(String idSessao, String login,
			AsyncCallback<Void> callback);

	void aprovarEmprestimo(String idSessao, String idRequisicaoEmprestimo,
			AsyncCallback<String> callback);

	void cadastrarItem(String IdSessao, String nome, String descricao,
			String categoria, AsyncCallback<String> callback);

	void confirmarTerminoEmprestimo(String idSessao, String idEmprestimo,
			AsyncCallback<Void> callback);

	void criarUsuario(String login, String nome, String endereco,
			AsyncCallback<Void> callback);

	void desfazerAmizade(String idSessao, String loginAmigo,
			AsyncCallback<Void> callback);

	void devolverItem(String idSessao, String idEmprestimo,
			AsyncCallback<Void> callback);

	void ehAmigo(String idSessao, String login, AsyncCallback<Boolean> callback);

	void encerrarSistema(AsyncCallback<Void> callback);

	void enviarMensagem(String idSessao, String destinatario, String assunto,
			String mensagem, AsyncCallback<String> callback);

	void enviarMensagem(String idSessao, String destinatario, String assunto,
			String mensagem, String idRequisicaoEmprestimo,
			AsyncCallback<String> callback);

	void getAmigos(String idSessao, AsyncCallback<String> callback);

	void getAmigos(String idSessao, String login, AsyncCallback<String> callback);

	void getAtributoItem(String idItem, String atributo,
			AsyncCallback<String> callback);

	void getAtributoUsuario(String login, String atributo,
			AsyncCallback<String> callback);

	void getEmprestimos(String idSessao, String tipo,
			AsyncCallback<String> callback);

	void getItens(String idSessao, AsyncCallback<String> callback);

	void getItens(String idSessao, String login, AsyncCallback<String> callback);

	void getRanking(String idSessao, String categoria,
			AsyncCallback<String> callback);

	void getRequisicoesDeAmizade(String idSessao, AsyncCallback<String> callback);

	void historicoAtividades(String idSessao, AsyncCallback<String> callback);

	void historicoAtividadesConjunto(String idSessao,
			AsyncCallback<String> callback);

	void lerMensagens(String idSessao, String idTopico,
			AsyncCallback<String> callback);

	void lerTopicos(String idSessao, String tipo, AsyncCallback<String> callback);

	void localizarUsuario(String idSessao, String chave, String atributo,
			AsyncCallback<String> callback);

	void localizarUsuario(String idSessao, AsyncCallback<String> callback);

	void oferecerItem(String idSessao, String idPublicacaoPedido,
			String idItem, AsyncCallback<Void> callback);

	void pesquisarItem(String idSessao, String chave, String atributo,
			String tipoOrdenacao, String criterioOrdenacao,
			AsyncCallback<String> callback);

	void publicarPedido(String idSessao, String nomeItem, String descricaoItem,
			AsyncCallback<String> callback);

	void rePublicarPedido(String idSessao, String idPublicacao,
			AsyncCallback<Void> callback);

	void registrarInteresse(String idSessao, String idItem,
			AsyncCallback<Void> callback);

	void requisitarAmizade(String idSessao, String login,
			AsyncCallback<Void> callback);

	void requisitarDevolucao(String idSessao, String idEmprestimo,
			AsyncCallback<Void> callback);

	void requisitarEmprestimo(String idSessao, String idItem, int duracao,
			AsyncCallback<String> callback);

	void zerarSistema(AsyncCallback<Void> callback);

}
